package controller;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import po.FuncModule;
import po.FuncModuleCustom;
import po.Result;
import service.FuncModuleService;

import java.util.List;

@Controller
@RequestMapping("/funcModule")
public class FuncModuleController {
    @Autowired
    private FuncModuleService funcModuleService;

    //返回功能模块信息界面视图
    @RequestMapping("/getFuncModuleInfoView")
    public String getFuncModuleInfoView() {
        return "application/funcModuleInfo";
    }

    //查询功能模块信息
    @RequestMapping("/findAllFuncModuleCustom")
    public @ResponseBody
    List<FuncModuleCustom> findAllFuncModuleCustom(String appName) throws Exception {
        return funcModuleService.findAllFuncModuleCustom(appName);
    }

    //返回添加功能模块界面视图
    @RequestMapping("/getAddFuncModuleView")
    public String getAddFuncModuleView() {
        return "application/addFuncModule";
    }

    //添加功能模块
    @RequestMapping("/addFuncModule")
    public @ResponseBody
    Result addFuncModule(FuncModule funcModule) {
        return funcModuleService.addFuncModule(funcModule);
    }

    //删除功能模块
    @RequestMapping("/deleteFuncModule")
    public @ResponseBody
    Result deleteFuncModule(int id) {
        return funcModuleService.deleteFuncModule(id);
    }

    //为combobox查询功能模块信息
    @RequestMapping("/findFuncModuleByAppId")
    public @ResponseBody
    List<FuncModule> findFuncModuleByAppId(int app_id) throws Exception {
        return funcModuleService.findModuleByAppId(app_id);
    }

    //返回修改功能模块界面视图
    @RequestMapping("/getEditFuncModuleView")
    public String getEditFuncModuleView() {
        return "application/editFuncModule";
    }

    //修改功能模块
    @RequestMapping("/updateFuncModule")
    public @ResponseBody
    Result updateFuncModule(FuncModule funcModule) {
        return funcModuleService.updateFuncModuleById(funcModule.getId(), funcModule);
    }
}
